package com.zhongwang.business.module.estimateBudgetAccountingManage.dao;

import com.zhongwang.business.gen.entity.*;
import com.zhongwang.business.module.estimateBudgetAccountingManage.model.*;
import com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.*;
import com.zhongwang.business.module.estimateBudgetAccountingManage.model.redis.MatDescModel;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author 徐一贺
 * @className EstimateDao
 * @description 概算持久层
 * @date 2020/12/11 16:39
 * @versron ver 1.0
 */
@Repository
public interface EstimateDao {
    /**
     * list 获取项目概算列表
     *
     * @param param 检索参数
     * @return List<AccountingProjectModel>
     * @author 徐一贺
     * @date 2020/12/11 16:54
     */
    List<AccountingProjectModel> findAccountingProjectListByCriteria(AccountingProjectModel param);

    /**
     * switchList 获取完成的核算列表
     *
     * @param param 检索参数
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.AccountingProjectModel>
     * @author 徐一贺
     * @date 2020/12/11 18:42
     */
    List<AccountingProjectModel> findAccountingProjectListByFinish(AccountingProjectModel param);

    /**
     * getBusBudgetAccountingTaskCountByProCode 根据项目号获取已存在的概算单据数量
     *
     * @param proCode 项目号
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/18 10:17
     */
    Integer getBusBudgetAccountingTaskCountByProCode(String proCode);

    /**
     * getBusBudgetAccountingTaskByTitleAndProCode 验证该项下的概算名称是否重复
     *
     * @param param 项目号和title
     * @return com.zhongwang.business.gen.entity.BusBudgetAccountingTask
     * @author 徐一贺
     * @date 2020/12/18 10:34
     */
    BusBudgetAccountingTask getBusBudgetAccountingTaskByTitleAndProCode(BusBudgetAccountingTaskModel param);

    /**
     * insertBusBudgetAccountingTask 插入概算单据表信息
     *
     * @param estimateOrder 概算信息
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/18 11:18
     */
    Integer insertBusBudgetAccountingTask(BusBudgetAccountingTask estimateOrder);

    /**
     * updateTaskTStatusByPrimaryKey 更新任务状态
     *
     * @param taskId  主键
     * @param tstatus 状态
     * @return java.lang.Integer
     * @throws
     * @author 徐一贺
     * @date 2020/12/18 11:23
     */
    Integer updateTaskTStatusByPrimaryKey(@Param("id") Integer taskId, @Param("tstatus") Integer tstatus);

    /**
     * getBusBudgetAccountingTaskByProCode 根据项目号获取核算单据表
     *
     * @param referenceProCode 项目号
     * @return com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusBudgetAccountingTaskModel
     * @author 徐一贺
     * @date 2020/12/18 11:28
     */
    BusBudgetAccountingTaskModel getBusBudgetAccountingTaskByProCode(String referenceProCode);

    /**
     * findBusBudgetAccountingCostByBatId 根据单据表主键获取清单数据
     *
     * @param batId 单据表主键
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusBudgetAccountingCostModel>
     * @author 徐一贺
     * @date 2020/12/18 11:30
     */
    List<BusBudgetAccountingCostModel> findBusBudgetAccountingCostByBatId(Integer batId);

    /**
     * insertBusBudgetAccountingCos 插入成本项
     *
     * @param item 成本项
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/18 12:38
     */
    Integer insertBusBudgetAccountingCost(BusBudgetAccountingCostModel item);

    /**
     * getVwProjectByCode 根据项目号获取项目信息
     *
     * @param referenceProCode 项目号
     * @return com.zhongwang.business.gen.entity.VwProject
     * @author 徐一贺
     * @date 2020/12/18 12:41
     */
    VwProjectModel getVwProjectByCode(String referenceProCode);

    /**
     * getBusMaterialData 获取概算材料数据
     *
     * @param accNum   核算项目数量
     * @param estCode  概算项目号
     * @param estNum   概算项目数量
     * @param estBatId 概算单据表ID
     * @param accBatId 核算单据表ID
     * @author 徐一贺
     * @date 2020/12/18 12:47
     */
    void getBusMaterialData(
            @Param("accCode") String accCode,
            @Param("accNum") Integer accNum,
            @Param("estCode") String estCode,
            @Param("estNum") Integer estNum,
            @Param("estBatId") Integer estBatId,
            @Param("accBatId") Integer accBatId,
            @Param("major") String major,
            @Param("part") String part,
            @Param("costId") Integer costId,
            @Param("texture") String texture,
            @Param("buyType") String buyType,
            @Param("assistType") String assistType
            );

    /**
     * getBusMachiningHours 获取概算机加工时数据
     *
     * @param accNum   核算项目数量
     * @param estCode  概算项目号
     * @param estNum   概算项目数量
     * @param estBatId 概算单据表ID
     * @param accBatId 核算单据表ID
     * @author 徐一贺
     * @date 2020/12/18 12:47
     */
    void getBusMachiningHours(
            @Param("accCode") String accCode,
            @Param("accNum") Integer accNum,
            @Param("estCode") String estCode,
            @Param("estNum") Integer estNum,
            @Param("estBatId") Integer estBatId,
            @Param("accBatId") Integer accBatId,
            @Param("major") String major,
            @Param("part") String part,
            @Param("costId") Integer costId
    );

    /**
     * getBusGeneralHours 获取常规工时、辅材和运费数据
     *
     * @param accNum   核算项目数量
     * @param estCode  概算项目号
     * @param estNum   概算项目数量
     * @param estBatId 概算单据表ID
     * @param accBatId 核算单据表ID
     * @author 徐一贺
     * @date 2020/12/18 12:47
     */
    void getBusGeneralHours(
            @Param("accCode") String accCode,
            @Param("accNum") Integer accNum,
            @Param("estCode") String estCode,
            @Param("estNum") Integer estNum,
            @Param("estBatId") Integer estBatId,
            @Param("accBatId") Integer accBatId,
            @Param("major") String major,
            @Param("part") String part,
            @Param("types") String types,
            @Param("laborTypes") String laborTypes,
            @Param("costId") Integer costId

    );

    /**  getPrototypeAmountByProCode 根据项目号获取核算单据表信息
     * @param proCode 项目号
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/21 10:06
     */
    BigDecimal getPrototypeAmountByProCode(String proCode);

    /**  getChcekModel 获取当前验证模型
     * @param param 当前用户名和项目号
     * @return com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusBudgetAccountingTaskModel
     * @author 徐一贺
     * @date 2020/12/21 16:40
     */
    BusBudgetAccountingTaskModel getChcekModel(BusBudgetAccountingTaskModel param);

    /**  findBusBudgetAccountingTaskModelByProCode 根据项目号获取概算主单
     * @param proCode 项目号
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusBudgetAccountingTaskModel>
     * @author 徐一贺
     * @date 2020/12/21 16:49
     */
    List<BusBudgetAccountingTaskModel> findBusBudgetAccountingTaskModelByProCode(String proCode);

    /**  getProjectModelBybatId 根据单据表主键获取项目信息
     * @param batId 单据表主键
     * @return com.zhongwang.business.module.estimateBudgetAccountingManage.model.ProjectModel
     * @author 徐一贺
     * @date 2020/12/21 18:06
     */
    ProjectModel getProjectModelBybatId(Integer batId);

    /**
     * getBusBudgetAccountingCostByPrimaryKey 根据主键获取成本项信息
     *
     * @param costId 成本项主键
     * @return com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusBudgetAccountingCostModel
     * @author 徐一贺
     * @date 2020/12/22 7:56
     */
    BusBudgetAccountingCostModel getBusBudgetAccountingCostByPrimaryKey(Integer costId);

    /**  getBusBudgetAccountingTaskByPrimaryKey 根据主键获取单据信息
     * @param batId 单据主键
     * @return com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusBudgetAccountingTaskModel
     * @author 徐一贺
     * @date 2020/12/22 8:04
     */
    BusBudgetAccountingTaskModel getBusBudgetAccountingTaskByPrimaryKey(Integer batId);

    /**
     * findSubmitList
     * 获取概算成本清单提交列表
     *
     * @param param 检索条件
     * @return com.zhongwang.business.module.estimateBudgetAccountingManage.model.AccountingProjectModel 列表数据
     * @author 徐一贺
     * @date 2020/11/10 20:14
     * @version 1.0
     */
    List<AccountingProjectModel> findSubmitList(AccountingProjectModel param);

    /**  updateBusBudgetAccountingTaskByPrimaryKeySelective 根据主键选择性保存单据表数据
     * @param param 单据表数据与主键
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/22 9:01
     */
    Integer updateBusBudgetAccountingTaskByPrimaryKeySelective(BusBudgetAccountingTask param);

    /**  getBusBudgetAccountingBasicInfoConfig 获取配置参数
     * @param estId 概算主键
     * @param accId 核算主键
     * @return void
     * @author 徐一贺
     * @date 2020/12/22 9:27
     */
    void getBusBudgetAccountingBasicInfoConfig(@Param("estId") Integer estId,@Param("accId") Integer accId);

    /**  findBusBudgetAccountingCostModelByParentCode 根据父级Code获取子集成本项集合
     * @param cost 父级code 和父级信息
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusBudgetAccountingCostModel>
     * @author 徐一贺
     * @date 2020/12/22 14:05
     */
    List<BusBudgetAccountingCostModel> findBusBudgetAccountingCostModelByParentCode(BusBudgetAccountingCostModel cost);

    /**  getBusBudgetAccountingBasicInfoConfigModelByBatIdAndCode 根据单据表主键和code获取对应的参数
     * @param batId 单据表主键
     * @param code 配置代码
     * @return com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusBudgetAccountingBasicInfoConfigModel
     * @author 徐一贺
     * @date 2020/12/22 14:11
     */
    BusBudgetAccountingBasicInfoConfigModel getBusBudgetAccountingBasicInfoConfigModelByBatIdAndCode(@Param("batId") Integer batId,@Param("code") String code);

    /**  getBusBudgetAccountingEstimatesDataByCondition 根据条件获取数据
     * @param param 条件
     * @return com.zhongwang.business.gen.entity.BusBudgetAccountingEstimatesData
     * @author 徐一贺
     * @date 2020/12/22 14:22
     */
    BusBudgetAccountingEstimatesData getBusBudgetAccountingEstimatesDataByCondition(BusBudgetAccountingEstimatesData param);

    /**  UPDATEBusBudgetAccountingEstimatesDataByPrimaryKey 根据主键更新数据表数据
     * @param param 数据表数据
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/22 14:28
     */
    Integer updateBusBudgetAccountingEstimatesDataByPrimaryKey(BusBudgetAccountingEstimatesData param);

    /**  inserBusBudgetAccountingEstimatesData 插入数据表数据
     * @param param 数据
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/22 14:31
     */
    Integer insertBusBudgetAccountingEstimatesData(BusBudgetAccountingEstimatesData param);

    /**  getTotalWeightByCostId 根据成本项主键获取对应明细的数据的总重 单位吨
     * @param costId 成本项主键
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/22 14:50
     */
    BigDecimal getTotalWeightByCostId(Integer costId);

    /**  getTotalNetWeightByCostId 根据条件获取总净重
     * @param netWeightCondition 条件
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/22 15:23
     */
    BigDecimal getTotalNetWeightByCostId(BusGeneralHoursModel netWeightCondition);

    /**  getTotalPriceByCostId 获取对应成本项原材料数据的总价
     * @param costId 成本项主键
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/22 15:44
     */
    BigDecimal getTotalPriceByCostId(Integer costId);

    /**  updateBusBudgetAccountingCostModel 根据主键更新成本项
     * @param rawMatCost 成本项
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/22 16:20
     */
    Integer updateBusBudgetAccountingCostModel(BusBudgetAccountingCostModel rawMatCost);

    /**  getBusBudgetAccountingCostByWasteParam 根据条件获取废料回收费成本项
     * @param rawMatCost 条件
     * @return com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusBudgetAccountingCostModel
     * @author 徐一贺
     * @date 2020/12/22 17:55
     */
    BusBudgetAccountingCostModel getBusBudgetAccountingCostByWasteParam(BusBudgetAccountingCostModel rawMatCost);

    /**  getParentCostByCondition 根据条件获取材料费成本项
     * @param wasteCost 条件
     * @return com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusBudgetAccountingCostModel
     * @author 徐一贺
     * @date 2020/12/22 18:26
     */
    BusBudgetAccountingCostModel getParentCostByCondition(BusBudgetAccountingCostModel wasteCost);

    /**  getCutTotalHoursByCostId 根据条件获取总工时
     * @param hoursCondition 条件
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/22 18:45
     */
    BigDecimal getTotalHoursByCostId(BusGeneralHoursModel hoursCondition);

    /**  getAuxMatTotalPriceByCondition 根据条件获取总辅材成本
     * @param hoursCondition 条件
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/22 19:01
     */
    BigDecimal getAuxMatTotalPriceByCondition(BusGeneralHoursModel hoursCondition);

    /**  getMacTotalPrice 获取机加总成本
     * @param cost 条件
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/22 19:23
     */
    BigDecimal getMacTotalPrice(BusBudgetAccountingCostModel cost);

    /**  findBusMachiningHoursByCondition 根据条件获取总机加工时列表
     * @param cost
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusMachiningHoursModel>
     * @author 徐一贺
     * @date 2020/12/22 19:30
     */
    List<BusMachiningHoursModel> findBusMachiningHoursByCondition(BusBudgetAccountingCostModel cost);

    /**  getChileTotalPrice 获取子集总价之和
     * @param manCost 条件
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/22 20:04
     */
    BigDecimal getChileTotalPrice(BusBudgetAccountingCostModel manCost);

    /**  getTotalNetWeight 获取总净重
     * @param manCost 条件
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/22 20:12
     */
    BigDecimal getTotalNetWeight(BusBudgetAccountingCostModel manCost);

    /**  getTotalTransportationExpensesByCostId 根据条件获取总运输费
     * @param hoursCondition 条件
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/23 9:09
     */
    BigDecimal getTotalTransportationExpensesByCostId(BusGeneralHoursModel hoursCondition);

    /**  getBusBudgetAccountingCost 根据条件获取小计成本项
     * @param subtotalCondition 条件
     * @return com.zhongwang.business.gen.entity.BusBudgetAccountingCost
     * @author 徐一贺
     * @date 2020/12/23 9:43
     */
    BusBudgetAccountingCost getBusBudgetAccountingCost(BusBudgetAccountingCost subtotalCondition);

    /**  getTotalWeightByBatId 根据单据表主键获取总料重
     * @param batId
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/23 9:58
     */
    BigDecimal getTotalWeightByBatId(Integer batId);

    /**  getTotalNetWeightByBatId 获取总净重
     * @param batId 单据表主键
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/23 10:36
     */
    BigDecimal getTotalNetWeightByBatId(Integer batId);

    /**  updateBusBudgetAccountingTaskWeightByPrimaryKey 更新该成本清单的总净重（设备净重*项目数）和总料重（设备总重*项目数）
     * @param order
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/23 10:39
     */
    Integer updateBusBudgetAccountingTaskWeightByPrimaryKey(BusBudgetAccountingTaskModel order);
    /**  findBusBudgetAccountingCostListByBatIdAndVerId 获取核算清单列表
     * @param batId 单据表主键
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusBudgetAccountingCostModel>
     * @author 徐一贺
     * @date 2020/12/23 14:02
     */
    List<BusBudgetAccountingCostModel> findBusBudgetAccountingCostListByBatIdAndVerId(@Param("batId") Integer batId);

    /**  findBusBudgetAccountingCostByBatIdOrderById 根据单据表主键获取以id为序列排序的清单项列表
     * @param batId 单据表主键
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusBudgetAccountingCostModel>
     * @author 徐一贺
     * @date 2020/12/23 14:08
     */
    List<BusBudgetAccountingCostModel> findBusBudgetAccountingCostByBatIdOrderById(Integer batId);

    /**  getAccountingEquipmentTotalWeightByBatId 根据单据表主键获取设备总重
     * @param batId 单据表主键
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/23 15:11
     */
    BigDecimal getAccountingEquipmentTotalWeightByBatId(Integer batId);
    /**  getAccountingEquipmentTotalNetWeightByBatId 根据单据表主键获取设备总净重
     * @param batId 单据表主键
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/23 15:12
     */
    BigDecimal getAccountingEquipmentTotalNetWeightByBatId(Integer batId);

    /**  updateBusBudgetAccountingTaskByPrimaryKey 根据主键更新概算需不需
     * @param order
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/23 15:35
     */
    Integer updateBusBudgetAccountingTaskByPrimaryKey(BusBudgetAccountingTaskModel order);

    /**  getTaskByPrimaryKey 根据主键获取任务
     * @param taskId
     * @return com.zhongwang.business.gen.entity.Task
     * @author 徐一贺
     * @date 2020/12/23 15:40
     */
    Task getTaskByPrimaryKey(Integer taskId);


    /**  updateTaskByPrimaryKey 更新任务信息
     * @param task 任务
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/23 15:43
     */
    Integer updateTaskByPrimaryKey(Task task);

    /**  getBusMaterialDataModelByPrimaryKey 根据主键获取实体数据
     * @param param
     * @return com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusMaterialDataModel
     * @author 徐一贺
     * @date 2020/12/24 9:29
     */
    BusMaterialDataModel getBusMaterialDataModelByPrimaryKey(ChangeIsEffectiveFlagModel param);

    /**  getBusMaterialDataModelByPrimaryKeys 根据主键们获取实体数据
     * @param param 主键们
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusMaterialDataModel>
     * @author 徐一贺
     * @date 2020/12/24 10:52
     */
    List<BusMaterialDataModel> getBusMaterialDataModelByPrimaryKeys(ChangeIsEffectiveFlagModel param);

    /**  updateBusMaterialDataByPrimaryKeySelective 根据主键选择性更新数据
     * @param param 数据
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/24 9:32
     */
    Integer updateBusMaterialDataByPrimaryKeySelective(BusMaterialDataModel param);

    /**  deleteBusMaterialDataByPrimaryKey 根据主键删除原材料数据
     * @param data 数据
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/24 10:08
     */
    Integer deleteBusMaterialDataByPrimaryKey(BusMaterialDataModel data);

    /**  getBusMaterialDataModelByCostId 根据成本项主键获取原材料数据
     * @param param 成本项主键
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusMaterialDataModel>
     * @author 徐一贺
     * @date 2020/12/24 12:56
     */
    List<BusMaterialDataModel> getBusMaterialDataModelByCostId(BusMaterialDataModel param);

    /**  findRawMaterialList 获取原材料明细数据
     * @param param
     * @return java.util.List<com.zhongwang.business.gen.entity.BusMaterialData>
     * @author 徐一贺
     * @date 2020/12/24 13:24
     */
    List<BusMaterialData> findRawMaterialList(BusMaterialData param);

    /**  matSaveAdd 添加材料数据
     * @param data 数据
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/24 18:43
     */
    Integer matSaveAdd(BusMaterialDataModel data);

    /**  createExportMatDataTempTable 创建临时表
     * @param param 参数
     * @return void
     * @author 徐一贺
     * @date 2020/12/24 19:12
     */
    void createExportMatDataTempTable(BusMaterialDataModel param);
    /**  createExportMatDataTempTable 创建临时表
     * @param param 参数
     * @return void
     * @author 徐一贺
     * @date 2020/12/24 19:12
     */
    void createExportPurDataTempTable(BusMaterialDataModel param);
    /**  createExportWholeDataTempTable 创建临时表
     * @param param 参数
     * @return void
     * @author 徐一贺
     * @date 2020/12/24 19:12
     */
    void createExportWholeDataTempTable(BusMaterialDataModel param);
    /**  createExportWithMatDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2021/1/4 14:06
     */
    void createExportWithMatDataTempTable(BusMaterialDataModel param);
    /**  createExportAluminumDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2020/12/28 9:50
     */
    void createExportAluminumDataTempTable(BusMaterialDataModel param);

    /**  createExportMatDataTempTable 创建临时表
     * @param param 参数
     * @return void
     * @author 徐一贺
     * @date 2020/12/24 19:12
     */
    void createExportCutDataTempTable(BusGeneralHoursModel param);
    /**  createExportRivetAndSolderDataTempTable 创建临时表
     * @param param 参数
     * @return void
     * @author 徐一贺
     * @date 2020/12/24 19:12
     */
    void createExportRivetAndSolderDataTempTable(BusGeneralHoursModel param);
    /**  createExportSprayDataTempTable 创建临时表
     * @param param 参数
     * @return void
     * @author 徐一贺
     * @date 2020/12/30 12:50
     */
    void createExportSprayDataTempTable(SprayExportModel param);
    /**  createExportAssemblyDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2020/12/30 17:59
     */
    void createExportAssemblyDataTempTable(AssemblyExportModel param);
    /**  createExportInstallDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2021/1/4 18:36
     */
    void createExportInstallDataTempTable(InstallExportModel param);
    /**  createExportDebugDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2021/1/4 18:36
     */
    void createExportDebugDataTempTable(DebugExportModel param);
    /**  createExportDesignDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2021/1/5 10:01
     */
    void createExportDesignDataTempTable(DesignExportModel param);
    /**  createExportPackingDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2021/1/5 17:55
     */
    void createExportPackingDataTempTable(PackingExportModel param);
    /**  createExportPackingAuxDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2021/1/5 17:55
     */
    void createExportPackingAuxDataTempTable(PackingAuxExportModel param);
    /**  createExportTransportDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2021/1/5 20:15
     */
    void createExportTransportDataTempTable(TransportExportModel param);
    /**  createExportDesignWeightDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2021/1/5 10:24
     */
    void createExportDesignWeightDataTempTable(DesignWeightExportModel param);
    /**  createExportAuxDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2021/1/4 20:36
     */
    void createExportAuxDataTempTable(AuxExportModel param);
    /**  createExportAssemblyDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2020/12/30 17:59
     */
    void createExportHeatTreatmentDataTempTable(HeatTreatmentExportModel param);
    /**  createExportAssemblyAuxDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2020/12/30 17:59
     */
    void createExportAssemblyAuxDataTempTable(AssemblyAuxExportModel param);

    /**  createExportSprayAuxDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2020/12/30 13:01
     */
    void createExportSprayAuxDataTempTable(SprayAuxExportModel param);

    /**  createExportMacHoursDataTempTable 创建临时表
     * @param param
     * @return void
     * @author 徐一贺
     * @date 2020/12/29 20:40
     */
    void createExportMacHoursDataTempTable( MacHoursExportModel param);

    /**  createExportMatDataTempTable 创建临时表
     * @param param 参数
     * @return void
     * @author 徐一贺
     * @date 2020/12/24 19:12
     */
    void createExportCutAuxDataTempTable(BusGeneralHoursModel param);
    /**  createExportMatDataTempTable 创建临时表
     * @param param 参数
     * @return void
     * @author 徐一贺
     * @date 2020/12/24 19:12
     */
    void createExportRivetAndSolderAuxDataTempTable(BusGeneralHoursModel param);



    /**  getTempTableDataCount 获取临时数据数量
     * @param param 参数
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/24 19:16
     */
    Integer getTempTableDataCount(BusMaterialDataModel param);
    /**  getTempTableDataCount 获取临时数据数量
     * @param param 参数
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/24 19:16
     */
    Integer getTempTableDataCount(SprayExportModel param);
    /**  getTempTableDataAuxCount 获取临时数据数量
     * @param param
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/30 13:03
     */
    Integer getTempTableDataAuxCount(SprayAuxExportModel param);

    /**  getTempTableDataCount 获取临时数据数量
     * @param param 参数
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/24 19:16
     */
    Integer getTempTableDataCount(BusGeneralHoursModel param);

    /**  getTempTableDataCount 获取临时数据数量
     * @param param 参数
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/24 19:16
     */
    Integer getTempTableDataCount(MacHoursExportModel param);

    /**  getTempTableDataCount 获取临时数据数量
     * @param param 参数
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/30 18:07
     */
    Integer getTempTableDataCount(AssemblyExportModel param);
    /**  getTempTableDataCount 获取临时数据数量
     * @param param 参数
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/30 18:07
     */
    Integer getTempTableDataCount(InstallExportModel param);
    /**  getTempTableDataCount 获取临时数据数量
     * @param param 参数
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/30 18:07
     */
    Integer getTempTableDataCount(DebugExportModel param);
    /**  getTempTableDataCount 获取临时数据数量
     * @param param 参数
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/30 18:07
     */
    Integer getTempTableDataCount(DesignExportModel param);
    /**  getTempTableDataCount 获取临时数据数量
     * @param param 参数
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/30 18:07
     */
    Integer getTempTableDataCount(PackingExportModel param);
    /**  getTempTableDataCount 获取临时数据数量
     * @param param 参数
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/30 18:07
     */
    Integer getTempTableDataCount(PackingAuxExportModel param);
    /**  getTempTableDataCount 获取临时数据数量
     * @param param 参数
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/30 18:07
     */
    Integer getTempTableDataCount(TransportExportModel param);
    /**  getTempTableDataCount 获取临时数据数量
     * @param param 参数
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/30 18:07
     */
    Integer getTempTableDataCount(DesignWeightExportModel param);
    /**  getTempTableDataCount 获取临时数据数量
     * @param param 参数
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/30 18:07
     */
    Integer getTempTableDataCount(AuxExportModel param);
    /**  getTempTableDataCount 获取临时数据数量
     * @param param 参数
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/30 18:07
     */
    Integer getTempTableDataCount(AssemblyAuxExportModel param);
    /**  getTempTableDataCount 获取临时数据数量
     * @param param
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/30 20:25
     */
    Integer getTempTableDataCount(HeatTreatmentExportModel param);

    /**  dropExportTempTable 删除临时表使用
     * @param tempTableName  临时表名
     * @return void
     * @author 徐一贺
     * @date 2020/12/24 19:18
     */
    void dropExportTempTable(String tempTableName);

    /**  selectExportDeferralTempTableData 获取原材料临时表数据
     * @param param 搜索条件
     * @return java.util.List<com.zhongwang.business.gen.entity.BusMaterialData>
     * @author 徐一贺
     * @date 2020/12/24 19:19
     */
    List<BusMaterialData> selectExportDeferralTempTableData(BusMaterialDataModel param);
    /**  selectExportDeferralTempTableData 获取外购费临时表数据
     * @param param 搜索条件
     * @return java.util.List<com.zhongwang.business.gen.entity.BusMaterialData>
     * @author 徐一贺
     * @date 2020/12/24 19:19
     */
    List<PurExportModel> selectPurExportDeferralTempTableData(BusMaterialDataModel param);
    /**  selectWholeExportTempTableData 获取整体外协临时表数据
     * @param param 搜索条件
     * @return java.util.List<com.zhongwang.business.gen.entity.BusMaterialData>
     * @author 徐一贺
     * @date 2020/12/24 19:19
     */
    List<WholeExportModel> selectWholeExportTempTableData(BusMaterialDataModel param);
    /**  selectWithMatExportTempTableData 获取带料外协临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.WithMatExportModel>
     * @author 徐一贺
     * @date 2021/1/4 14:07
     */
    List<WithMatExportModel> selectWithMatExportTempTableData(BusMaterialDataModel param);

    /**  selectAluminiumExportTempTableData 获取铝材临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.gen.entity.BusMaterialData>
     * @author 徐一贺
     * @date 2020/12/28 9:47
     */
    List<AluminiumExportModel> selectAluminiumExportTempTableData(BusMaterialDataModel param);
    /**  selectExportDeferralTempTableData 获取下料工时临时表数据
     * @param param 搜索条件
     * @return java.util.List<com.zhongwang.business.gen.entity.BusMaterialData>
     * @author 徐一贺
     * @date 2020/12/24 19:19
     */
    List<CutExportModel> selectCutHoursExportDeferralTempTableData(BusGeneralHoursModel param);
    /**  selectRivetAndSolderHoursExportDeferralTempTableData  获取铆焊工时临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.RivetAndSolderExportModel>
     * @author 徐一贺
     * @date 2020/12/28 8:37
     */
    List<RivetAndSolderExportModel> selectRivetAndSolderHoursExportDeferralTempTableData(BusGeneralHoursModel param);
    /**  selectSprayHoursExportDeferralTempTableData 获取喷涂工时临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.SprayExportModel>
     * @author 徐一贺
     * @date 2020/12/30 12:49
     */
    List<SprayExportModel> selectSprayHoursExportDeferralTempTableData(SprayExportModel param);
    /**  selectAssemblyHoursExportDeferralTempTableData 获取装配工时临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.AssemblyExportModel>
     * @author 徐一贺
     * @date 2020/12/30 18:08
     */
    List<AssemblyExportModel> selectAssemblyHoursExportDeferralTempTableData(AssemblyExportModel param);
    /**  selectInstallHoursExportDeferralTempTableData 获取安装工时临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.InstallExportModel>
     * @author 徐一贺
     * @date 2021/1/4 18:38
     */
    List<InstallExportModel> selectInstallHoursExportDeferralTempTableData(InstallExportModel param);
    /**  selectDebugHoursExporTempTableData 获取调试工时临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.DebugExportModel>
     * @author 徐一贺
     * @date 2021/1/4 19:40
     */
    List<DebugExportModel> selectDebugHoursExportTempTableData(DebugExportModel param);
    /**  selectDesignHoursExportTempTableData 获取设计工时临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.DesignExportModel>
     * @author 徐一贺
     * @date 2021/1/5 10:02
     */
    List<DesignExportModel> selectDesignHoursExportTempTableData(DesignExportModel param);
    /**  selectPackingHoursExportTempTableData 获取包装工时临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.PackingExportModel>
     * @author 徐一贺
     * @date 2021/1/5 17:56
     */
    List<PackingExportModel> selectPackingHoursExportTempTableData(PackingExportModel param);
    /**  selectPackingAuxExportTempTableData 获取包装辅材临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.PackingExportModel>
     * @author 徐一贺
     * @date 2021/1/5 17:56
     */
    List<PackingAuxExportModel> selectPackingAuxExportTempTableData(PackingAuxExportModel param);
    List<TransportExportModel> selectTransportExportTempTableData(TransportExportModel param);
    /**  selectDesignWeightExportTempTableData 获取设计重量临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.DesignWeightExportModel>
     * @author 徐一贺
     * @date 2021/1/5 10:26
     */
    List<DesignWeightExportModel> selectDesignWeightExportTempTableData(DesignWeightExportModel param);
    /**  selectAuxExporTempTableData 获取安装辅材临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.AuxExportModel>
     * @author 徐一贺
     * @date 2021/1/4 20:37
     */
    List<AuxExportModel> selectAuxExportTempTableData(AuxExportModel param);
    /**  selectHeatTreatmentExportDeferralTempTableData 获取热处理临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.HeatTreatmentExportModel>
     * @author 徐一贺
     * @date 2020/12/30 20:26
     */
    List<HeatTreatmentExportModel> selectHeatTreatmentExportDeferralTempTableData(HeatTreatmentExportModel param);
    /**  selectAssemblyAuxExportDeferralTempTableData 获取装配辅材临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.AssemblyExportModel>
     * @author 徐一贺
     * @date 2020/12/30 18:08
     */
    List<AssemblyAuxExportModel> selectAssemblyAuxExportDeferralTempTableData(AssemblyAuxExportModel param);
    /**  selectBusMachiningHoursExportDeferralTempTableData 获取机加工时临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.RivetAndSolderExportModel>
     * @author 徐一贺
     * @date 2020/12/29 20:51
     */
    List<MacHoursExportModel> selectBusMachiningHoursExportDeferralTempTableData(MacHoursExportModel param);
    /**  selectRivetAndSolderAuxHoursExportDeferralTempTableData 获取铆焊辅材临时表数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.RivetAndSolderExportModel>
     * @author 徐一贺
     * @date 2020/12/28 8:46
     */
    List<RivetAndSolderAuxExportModel> selectRivetAndSolderAuxHoursExportDeferralTempTableData(BusGeneralHoursModel param);
    /**  selectExportDeferralTempTableData 获取下料辅材临时表数据
     * @param param 搜索条件
     * @return java.util.List<com.zhongwang.business.gen.entity.BusMaterialData>
     * @author 徐一贺
     * @date 2020/12/24 19:19
     */
    List<CutAuxExportModel> selectCutAuxExportDeferralTempTableData(BusGeneralHoursModel param);

    /**  getBusBudgetAccountingEstimatesDataByCostIdAndDataType 根据costId和dataType获取数据模型
     * @param dataParam 成本项主键和数据类型
     * @return com.zhongwang.business.gen.entity.BusBudgetAccountingEstimatesData
     * @author 徐一贺
     * @date 2020/12/25 9:45
     */
    BusBudgetAccountingEstimatesData getBusBudgetAccountingEstimatesDataByCostIdAndDataType(BusBudgetAccountingEstimatesData dataParam);

    /**  findBusMachiningHoursModelListByCondition 根据条件获取机加数据
     * @param macCondition 条件
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusMachiningHoursModel>
     * @author 徐一贺
     * @date 2020/12/25 10:49
     */
    List<BusMachiningHoursModel> findBusMachiningHoursModelListByCondition(BusMachiningHoursModel macCondition);

    /**  findBusGeneralHoursModelListByCondition 获取数据
     * @param condition
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusGeneralHoursModel>
     * @author 徐一贺
     * @date 2020/12/25 10:56
     */
    List<BusGeneralHoursModel> findBusGeneralHoursModelListByCondition(BusGeneralHoursModel condition);

    /**  getBusGeneralHoursByPrimaryKeys 根据主键们获取工时辅材数据
     * @param param
     * @return java.util.List<com.zhongwang.business.gen.entity.BusGeneralHours>
     * @author 徐一贺
     * @date 2020/12/25 13:15
     */
    List<BusGeneralHours> getBusGeneralHoursByPrimaryKeys(ChangeIsEffectiveFlagModel param);

    /**  updateBusGeneralHoursPrimaryKeySelective 根据主键更新工时辅材数据
     * @param data
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/25 13:17
     */
    Integer updateBusGeneralHoursPrimaryKeySelective(BusGeneralHours data);

    /**  insertBusGeneralHours 添加工时 辅材 运费数据
     * @param param 数据
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/25 19:26
     */
    Integer insertBusGeneralHours(BusGeneralHoursModel param);
    /**  getBusGeneralHoursModelByPrimaryKeys 根据主键们获取工时辅材运费数据
     * @param param 主键们
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusGeneralHoursModel>
     * @author 徐一贺
     * @date 2020/12/25 19:44
     */
    List<BusGeneralHoursModel> getBusGeneralHoursModelByPrimaryKeys(ChangeIsEffectiveFlagModel param);

    /**  deleteBusGeneralHoursModelByPrimaryKey 根据主键删除工时辅材运费数据
     * @param data 主键
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/25 19:45
     */
    Integer deleteBusGeneralHoursModelByPrimaryKey(BusGeneralHoursModel data);

    /**  getBusGeneralHoursModelByCostId 根据成本项主键获取对应的工时辅材运费等信息
     * @param param 主键
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusGeneralHoursModel>
     * @author 徐一贺
     * @date 2020/12/25 20:04
     */
    List<BusGeneralHoursModel> getBusGeneralHoursModelByCostId(BusMaterialDataModel param);

    /**  getBusMachiningHoursByCondition 根据条件获取总机加工时
     * @param cost
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/28 19:45
     */
    BigDecimal getBusMachiningHoursByCondition(BusBudgetAccountingCostModel cost);

    /**  findBusMachiningHoursModelListByEstCondition 获得机加工时列表
     * @param macCondition
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusMachiningHoursModel>
     * @author 徐一贺
     * @date 2020/12/29 10:40
     */
    List<BusMachiningHoursModel> findBusMachiningHoursModelListByEstCondition(BusMachiningHoursModel macCondition);

    /**  getResultMacHours 获取机加计算结果
     * @param param
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2020/12/29 12:37
     */
    BigDecimal getResultMacHours(GetResultMacHoursModel param);

    /**  findProcessList 查询工序列表
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.VwComProcessModel>
     * @author 徐一贺
     * @date 2020/12/29 16:35
     */
    List<VwComProcessModel> findProcessList();

    /**  findNameTypeList 查询设备类型列表
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.VwEquTypeModel>
     * @author 徐一贺
     * @date 2020/12/29 16:54
     */
    List<VwEquTypeModel> findNameTypeList();

    /**  loadNameList 根据设备类型获取设备列表
     * @param nameType 设备类型
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.VwEquModel>
     * @author 徐一贺
     * @date 2020/12/29 17:46
     */
    List<VwEquModel> findNameList(String nameType);

    /**  getBusMachiningEquipmentByCondition 根据条件获取改设备的定额
     * @param condition
     * @return com.zhongwang.business.gen.entity.BusMachiningEquipment
     * @author 徐一贺
     * @date 2020/12/29 19:21
     */
    BusMachiningEquipment getBusMachiningEquipmentByCondition(BusMachiningEquipment condition);

    /**  insertBusMachiningHours 插入机加数据
     * @param param 机加数据
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/29 19:28
     */
    Integer insertBusMachiningHours(BusMachiningHoursModel param);

    /**  updateBusMachiningHoursByPrimaryKeySelective 根据主键选择性更新季佳佳工时
     * @param param 机加工时
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/29 19:57
     */
    Integer updateBusMachiningHoursByPrimaryKeySelective(BusMachiningHoursModel param);

    /**  getBusMachiningHoursByPrimaryKeys 根据主键们获取机加工时列表
     * @param param
     * @return java.util.List<com.zhongwang.business.gen.entity.BusMachiningHours>
     * @author 徐一贺
     * @date 2020/12/29 20:11
     */
    List<BusMachiningHours> getBusMachiningHoursByPrimaryKeys(ChangeIsEffectiveFlagModel param);

    /**  updateBusMachiningHoursPrimaryKeySelective 根据主键选择性更新机加工时数据
     * @param data
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/29 20:13
     */
    Integer updateBusMachiningHoursPrimaryKeySelective(BusMachiningHours data);

    /**  deleteBusMachiningHoursByPrimaryKey deleteBusMachiningHoursByPrimaryKey
     * @param data 根据主键删除机加数据
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/29 20:20
     */
    Integer deleteBusMachiningHoursByPrimaryKey(BusMachiningHours data);

    /**  getBusMachiningHoursModelByCostId 根据costId获取机加数据
     * @param param
     * @return java.util.List<com.zhongwang.business.gen.entity.BusMachiningHours>
     * @author 徐一贺
     * @date 2020/12/29 20:34
     */
    List<BusMachiningHours> getBusMachiningHoursModelByCostId(BusMaterialDataModel param);

    /**  selectSprayAuxExportTempTableData 获取喷涂辅材数据
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.excelImport.SprayAuxExportModel>
     * @author 徐一贺
     * @date 2020/12/30 13:04
     */
    List<SprayAuxExportModel> selectSprayAuxExportTempTableData(SprayAuxExportModel param);

    /**  purList 获取外购件列表
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusMaterialDataModel>
     * @author 徐一贺
     * @date 2020/12/31 8:33
     */
    List<BusMaterialDataModel> purList(BusMaterialDataModel param);
    /**  wholeList 整体外协列表
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusMaterialDataModel>
     * @author 徐一贺
     * @date 2021/1/4 12:40
     */
    List<BusMaterialDataModel> wholeList(BusMaterialDataModel param);
    /**  whishMatList 带料外协 列表
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.BusMaterialDataModel>
     * @author 徐一贺
     * @date 2021/1/4 12:47
     */
    List<BusMaterialDataModel> whishMatList(BusMaterialDataModel param);
    /**  findMatDescList 请填写描述
     * @param topCount
     * @param keyStr
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.redis.MatDescModel>
     * @author 徐一贺
     * @date 2020/12/31 13:35
     */
    List<MatDescModel> findMatDescList(@Param("topCount") Integer topCount,@Param("keyStr")  String keyStr);

    /**  insertBusMaterialData 插入材料
     * @param param
     * @return java.lang.Integer
     * @author 徐一贺
     * @date 2020/12/31 14:39
     */
    Integer insertBusMaterialData(BusMaterialDataModel param);

    /**  getTotalTrueAmountByParam 根据参数获取总真实金额
     * @param param
     * @return java.math.BigDecimal
     * @author 徐一贺
     * @date 2021/1/7 16:43
     */
    BigDecimal getTotalTrueAmountByParam(BusBudgetAccountingCostModel param);
    /**
     * findApprovalList 获取概算成本清单审核列表
     *
     * @param param
     * @return java.util.List<com.zhongwang.business.module.estimateBudgetAccountingManage.model.AccountingProjectModel>
     * @throws
     * @author 徐一贺
     * @date 2020/11/25 8:51
     */
    List<AccountingProjectModel> findApprovalList(AccountingProjectModel param);

    /**
     *  findAccountingProjectListByCriteriaFroQueryList
     *  根据查询条件检索概算查询列表
     * @param param 查询条件
     * @return AccountingProjectModel 查询结果
     * @author 徐一贺
     * @date 2020/9/15 9:43
     * @version 1.0
     */
    List<AccountingProjectModel> findEstimatingProjectListByCriteriaFroQueryList(AccountingProjectModel param);
}
